package cn.wolfcode.crm.service;

import cn.wolfcode.crm.domain.ClaimBill;
import cn.wolfcode.crm.query.QueryObject;
import cn.wolfcode.crm.util.PageResult;

import java.util.List;

public interface IClaimBillService {
    void save(ClaimBill entity);
    void update(ClaimBill entity);
    void delete(Long id);
    ClaimBill get(Long id);
    List<ClaimBill> getAll();

    PageResult query(QueryObject qo);
    /*
    * 提审数据,改变数据状态为待审核
    * */
    void changeAuditState(Long id);

    /*
   * 拒审,删除对应的明细
   * */
    void deleteByInsuranceNo(String insuranceNo);
    /*
    * 拒审数据,改变数据状态为审核驳回
    * */
    void changeSateByRefuse(Long id);
    /*
    * 审核通过后,改变支付状态为待支付
    * */
    void changePayState(String insuranceNo);
    /*
    * 确认赔付后,改变支付状态为已支付
    * */
    void changePaiedState(String insuranceNo);
    /*
    * 根据insuranceNo来查询数据,用作回显数据
    * */
    List<ClaimBill> selectBillByInsuranceNo(String insuranceNo);

    ClaimBill selectByClientId(Long id);
}
